package org.example.journal_items.service;

import org.example.journal_items.Entity.Diary;
import org.springframework.data.domain.Page;

public interface DiaryService {
  Page<Diary> getDiariesByUserId(Long userId, int page, int size);

  Diary getDiaryById(Long id);

  Diary createDiary(Diary diary);

  Diary updateDiary(Long id, Diary diary);

  void deleteDiary(Long id);

  Diary toggleFavorite(Long id);

  long countTotalDiariesByUserId(Long userId);

  long getConsecutiveDaysByUserId(Long userId);

  java.util.List<org.example.journal_items.Entity.Diary> getPrivateDiaries(Long userId);
}